class knowledge_base_fetcher :
    def __init__ ( self , mediator ) :
        self . _mediator = mediator
        self . _knowledge_bases = None
        self . _creation_time = None
        self . _modification_time = None
        self . _size = None
    def list_knowledge_bases_reply ( self , bases ) :
        self . _knowledge_bases = bases
    def knowledge_base_creation_time_reply ( self , time ) :
        self . _creation_time = time
    def knowledge_base_modification_time_reply ( self , time ) :
        self . _modification_time = time
    def knowledge_base_size_reply ( self , size ) :
        self . _size = size
    def fetch_all_knowledge_bases ( self ) :
        self . _mediator . list_knowledge_bases_request ( )
        for base_name in self . _knowledge_bases :
            self . _mediator . knowledge_base_creation_time_request ( base_name )
            self . _mediator . knowledge_base_modification_time_request ( base_name )
            self . _mediator . knowledge_base_size_request ( base_name )
            self . _mediator . receive_knowledge_base \
                ( base_name
                , self . _creation_time
                , self . _modification_time
                , self . _size
                )
